﻿/******************************************************************************
* File description: barCodeManager.h
* Function: 耗材编码管理
* Current Version: 1.0.0
* Author: JNN
* Date: 2025-07-01
*  -----
*  Copyright by 博坤生物 .
 *****************************************************************************/


#ifndef BARCODEMANAGER_H
#define BARCODEMANAGER_H

#include <QDateTime>
#include "logHelper/debugLog.h"
#include "DbHelper.h"

class BarCodeManager : public QObject
{
    Q_OBJECT

private:
    BarCodeManager();
public:
    static BarCodeManager& I();

    Q_INVOKABLE QString         addBarCode(QString code);       // 添加一个新的耗材编码 返回""添加成功，返回其它字符串为失败原因
    Q_INVOKABLE QString         startExpWithCode(QString code); // 使用某个耗材编码来进行实验，该耗材编码可用次数-1

    Q_INVOKABLE QVariantList    getBarCodeList();               // 获取耗材编码列表
    Q_INVOKABLE bool            deleteBarCode(QString code);          // 删除某个耗材编码（删除的时候请不清空次数以后再说吧……

    Q_INVOKABLE QString         isValidCode(QString code);      // 检查编码是否符合规则

    Q_INVOKABLE int             getBarCodeNum();

};

#endif // BARCODEMANAGER_H
